package com.hjp.blog.service;

import com.hjp.blog.po.Blog;
import com.hjp.blog.vo.BlogQuery;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;

public interface BlogService {
    //通过id查询
    Blog getBlog(Long id);
    //博客详情，内容转为Html
    Blog getAndConvert(Long id);
    //通过条件查询并分页
    Page<Blog> listBlog(Pageable pageable, BlogQuery blog);
    //查询博客分页
    Page<Blog> listBlog(Pageable pageable);
    //通过标签条件查询并分页，就是标签页
    Page<Blog> listBlog(Long tagId,Pageable pageable);
    //全局查询并分页
    Page<Blog> listBlog(String query,Pageable pageable);
    //底部最新博客  最新推荐
    List<Blog> listRecommendBlogTop(Integer size);
    //归档  时间 博客
    Map<String,List<Blog>> archiveBlog();
    //归档 博客数量
    Long countBlog();
    //增加
    Blog saveBlog(Blog blog);
    //修改
    Blog updateBlog(Long id,Blog blog);
    //删除
    void deleteBlog(Long id);

}
